/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package entity;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author uel
 */
@Entity
@Table(name = "eve_curso")
@NamedQueries({@NamedQuery(name = "EveCurso.findAll", query = "SELECT e FROM EveCurso e"), @NamedQuery(name = "EveCurso.findByCodCurso", query = "SELECT e FROM EveCurso e WHERE e.codCurso = :codCurso"), @NamedQuery(name = "EveCurso.findByTitCurso", query = "SELECT e FROM EveCurso e WHERE e.titCurso = :titCurso"), @NamedQuery(name = "EveCurso.findByDesCurso", query = "SELECT e FROM EveCurso e WHERE e.desCurso = :desCurso"), @NamedQuery(name = "EveCurso.findByFoneContato", query = "SELECT e FROM EveCurso e WHERE e.foneContato = :foneContato"), @NamedQuery(name = "EveCurso.findByFoneDivulgacao", query = "SELECT e FROM EveCurso e WHERE e.foneDivulgacao = :foneDivulgacao"), @NamedQuery(name = "EveCurso.findByEmail", query = "SELECT e FROM EveCurso e WHERE e.email = :email"), @NamedQuery(name = "EveCurso.findByObjetivo", query = "SELECT e FROM EveCurso e WHERE e.objetivo = :objetivo"), @NamedQuery(name = "EveCurso.findByPublicoAlvo", query = "SELECT e FROM EveCurso e WHERE e.publicoAlvo = :publicoAlvo"), @NamedQuery(name = "EveCurso.findByPreRequisito", query = "SELECT e FROM EveCurso e WHERE e.preRequisito = :preRequisito"), @NamedQuery(name = "EveCurso.findByDocumentacao", query = "SELECT e FROM EveCurso e WHERE e.documentacao = :documentacao"), @NamedQuery(name = "EveCurso.findByEmenta", query = "SELECT e FROM EveCurso e WHERE e.ementa = :ementa"), @NamedQuery(name = "EveCurso.findByPrograma", query = "SELECT e FROM EveCurso e WHERE e.programa = :programa"), @NamedQuery(name = "EveCurso.findByBibliografia", query = "SELECT e FROM EveCurso e WHERE e.bibliografia = :bibliografia"), @NamedQuery(name = "EveCurso.findByInvestimento", query = "SELECT e FROM EveCurso e WHERE e.investimento = :investimento"), @NamedQuery(name = "EveCurso.findByCargaHoraria", query = "SELECT e FROM EveCurso e WHERE e.cargaHoraria = :cargaHoraria"), @NamedQuery(name = "EveCurso.findByCargaHorariaPratica", query = "SELECT e FROM EveCurso e WHERE e.cargaHorariaPratica = :cargaHorariaPratica"), @NamedQuery(name = "EveCurso.findByCargaHorariaTeorica", query = "SELECT e FROM EveCurso e WHERE e.cargaHorariaTeorica = :cargaHorariaTeorica"), @NamedQuery(name = "EveCurso.findByVagasLimitadas", query = "SELECT e FROM EveCurso e WHERE e.vagasLimitadas = :vagasLimitadas"), @NamedQuery(name = "EveCurso.findByVagas", query = "SELECT e FROM EveCurso e WHERE e.vagas = :vagas"), @NamedQuery(name = "EveCurso.findByVagasNet", query = "SELECT e FROM EveCurso e WHERE e.vagasNet = :vagasNet"), @NamedQuery(name = "EveCurso.findByVagasInterna", query = "SELECT e FROM EveCurso e WHERE e.vagasInterna = :vagasInterna"), @NamedQuery(name = "EveCurso.findByVagasListaEspera", query = "SELECT e FROM EveCurso e WHERE e.vagasListaEspera = :vagasListaEspera"), @NamedQuery(name = "EveCurso.findByVagasCec", query = "SELECT e FROM EveCurso e WHERE e.vagasCec = :vagasCec"), @NamedQuery(name = "EveCurso.findByDuracao", query = "SELECT e FROM EveCurso e WHERE e.duracao = :duracao"), @NamedQuery(name = "EveCurso.findBySala", query = "SELECT e FROM EveCurso e WHERE e.sala = :sala"), @NamedQuery(name = "EveCurso.findByObs", query = "SELECT e FROM EveCurso e WHERE e.obs = :obs"), @NamedQuery(name = "EveCurso.findByFlgSituacao", query = "SELECT e FROM EveCurso e WHERE e.flgSituacao = :flgSituacao"), @NamedQuery(name = "EveCurso.findByResIncl", query = "SELECT e FROM EveCurso e WHERE e.resIncl = :resIncl"), @NamedQuery(name = "EveCurso.findByDatIncl", query = "SELECT e FROM EveCurso e WHERE e.datIncl = :datIncl"), @NamedQuery(name = "EveCurso.findByResAlter", query = "SELECT e FROM EveCurso e WHERE e.resAlter = :resAlter"), @NamedQuery(name = "EveCurso.findByDatAlter", query = "SELECT e FROM EveCurso e WHERE e.datAlter = :datAlter")})
public class EveCurso implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "cod_curso")
    private Integer codCurso;
    @Column(name = "tit_curso")
    private String titCurso;
    @Column(name = "des_curso")
    private String desCurso;
    @Column(name = "fone_contato")
    private String foneContato;
    @Column(name = "fone_divulgacao")
    private String foneDivulgacao;
    @Column(name = "email")
    private String email;
    @Column(name = "objetivo")
    private String objetivo;
    @Column(name = "publico_alvo")
    private String publicoAlvo;
    @Column(name = "pre_requisito")
    private String preRequisito;
    @Column(name = "documentacao")
    private String documentacao;
    @Column(name = "ementa")
    private String ementa;
    @Column(name = "programa")
    private String programa;
    @Column(name = "bibliografia")
    private String bibliografia;
    @Column(name = "investimento")
    private String investimento;
    @Column(name = "carga_horaria")
    @Temporal(TemporalType.TIME)
    private Date cargaHoraria;
    @Column(name = "carga_horaria_pratica")
    @Temporal(TemporalType.TIME)
    private Date cargaHorariaPratica;
    @Column(name = "carga_horaria_teorica")
    @Temporal(TemporalType.TIME)
    private Date cargaHorariaTeorica;
    @Column(name = "vagas_limitadas")
    private Integer vagasLimitadas;
    @Column(name = "vagas")
    private Integer vagas;
    @Column(name = "vagas_net")
    private Integer vagasNet;
    @Column(name = "vagas_interna")
    private Integer vagasInterna;
    @Column(name = "vagas_lista_espera")
    private Integer vagasListaEspera;
    @Column(name = "vagas_cec")
    private Integer vagasCec;
    @Column(name = "duracao")
    private String duracao;
    @Column(name = "sala")
    private String sala;
    @Column(name = "obs")
    private String obs;
    @Column(name = "flg_situacao")
    private String flgSituacao;
    @Basic(optional = false)
    @Column(name = "res_incl")
    private String resIncl;
    @Basic(optional = false)
    @Column(name = "dat_incl")
    @Temporal(TemporalType.DATE)
    private Date datIncl;
    @Column(name = "res_alter")
    private String resAlter;
    @Column(name = "dat_alter")
    @Temporal(TemporalType.DATE)
    private Date datAlter;
    @JoinColumn(name = "cod_area_tematica", referencedColumnName = "cod_area_tematica")
    @ManyToOne
    private EveAreaTematica codAreaTematica;
    @JoinColumn(name = "cod_modalidade", referencedColumnName = "cod_modalidade")
    @ManyToOne
    private EveModalidade codModalidade;

    public EveCurso() {
    }

    public EveCurso(Integer codCurso) {
        this.codCurso = codCurso;
    }

    public EveCurso(Integer codCurso, String resIncl, Date datIncl) {
        this.codCurso = codCurso;
        this.resIncl = resIncl;
        this.datIncl = datIncl;
    }

    public Integer getCodCurso() {
        return codCurso;
    }

    public void setCodCurso(Integer codCurso) {
        this.codCurso = codCurso;
    }

    public String getTitCurso() {
        return titCurso;
    }

    public void setTitCurso(String titCurso) {
        this.titCurso = titCurso;
    }

    public String getDesCurso() {
        return desCurso;
    }

    public void setDesCurso(String desCurso) {
        this.desCurso = desCurso;
    }

    public String getFoneContato() {
        return foneContato;
    }

    public void setFoneContato(String foneContato) {
        this.foneContato = foneContato;
    }

    public String getFoneDivulgacao() {
        return foneDivulgacao;
    }

    public void setFoneDivulgacao(String foneDivulgacao) {
        this.foneDivulgacao = foneDivulgacao;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getObjetivo() {
        return objetivo;
    }

    public void setObjetivo(String objetivo) {
        this.objetivo = objetivo;
    }

    public String getPublicoAlvo() {
        return publicoAlvo;
    }

    public void setPublicoAlvo(String publicoAlvo) {
        this.publicoAlvo = publicoAlvo;
    }

    public String getPreRequisito() {
        return preRequisito;
    }

    public void setPreRequisito(String preRequisito) {
        this.preRequisito = preRequisito;
    }

    public String getDocumentacao() {
        return documentacao;
    }

    public void setDocumentacao(String documentacao) {
        this.documentacao = documentacao;
    }

    public String getEmenta() {
        return ementa;
    }

    public void setEmenta(String ementa) {
        this.ementa = ementa;
    }

    public String getPrograma() {
        return programa;
    }

    public void setPrograma(String programa) {
        this.programa = programa;
    }

    public String getBibliografia() {
        return bibliografia;
    }

    public void setBibliografia(String bibliografia) {
        this.bibliografia = bibliografia;
    }

    public String getInvestimento() {
        return investimento;
    }

    public void setInvestimento(String investimento) {
        this.investimento = investimento;
    }

    public Date getCargaHoraria() {
        return cargaHoraria;
    }

    public void setCargaHoraria(Date cargaHoraria) {
        this.cargaHoraria = cargaHoraria;
    }

    public Date getCargaHorariaPratica() {
        return cargaHorariaPratica;
    }

    public void setCargaHorariaPratica(Date cargaHorariaPratica) {
        this.cargaHorariaPratica = cargaHorariaPratica;
    }

    public Date getCargaHorariaTeorica() {
        return cargaHorariaTeorica;
    }

    public void setCargaHorariaTeorica(Date cargaHorariaTeorica) {
        this.cargaHorariaTeorica = cargaHorariaTeorica;
    }

    public Integer getVagasLimitadas() {
        return vagasLimitadas;
    }

    public void setVagasLimitadas(Integer vagasLimitadas) {
        this.vagasLimitadas = vagasLimitadas;
    }

    public Integer getVagas() {
        return vagas;
    }

    public void setVagas(Integer vagas) {
        this.vagas = vagas;
    }

    public Integer getVagasNet() {
        return vagasNet;
    }

    public void setVagasNet(Integer vagasNet) {
        this.vagasNet = vagasNet;
    }

    public Integer getVagasInterna() {
        return vagasInterna;
    }

    public void setVagasInterna(Integer vagasInterna) {
        this.vagasInterna = vagasInterna;
    }

    public Integer getVagasListaEspera() {
        return vagasListaEspera;
    }

    public void setVagasListaEspera(Integer vagasListaEspera) {
        this.vagasListaEspera = vagasListaEspera;
    }

    public Integer getVagasCec() {
        return vagasCec;
    }

    public void setVagasCec(Integer vagasCec) {
        this.vagasCec = vagasCec;
    }

    public String getDuracao() {
        return duracao;
    }

    public void setDuracao(String duracao) {
        this.duracao = duracao;
    }

    public String getSala() {
        return sala;
    }

    public void setSala(String sala) {
        this.sala = sala;
    }

    public String getObs() {
        return obs;
    }

    public void setObs(String obs) {
        this.obs = obs;
    }

    public String getFlgSituacao() {
        return flgSituacao;
    }

    public void setFlgSituacao(String flgSituacao) {
        this.flgSituacao = flgSituacao;
    }

    public String getResIncl() {
        return resIncl;
    }

    public void setResIncl(String resIncl) {
        this.resIncl = resIncl;
    }

    public Date getDatIncl() {
        return datIncl;
    }

    public void setDatIncl(Date datIncl) {
        this.datIncl = datIncl;
    }

    public String getResAlter() {
        return resAlter;
    }

    public void setResAlter(String resAlter) {
        this.resAlter = resAlter;
    }

    public Date getDatAlter() {
        return datAlter;
    }

    public void setDatAlter(Date datAlter) {
        this.datAlter = datAlter;
    }

    public EveAreaTematica getCodAreaTematica() {
        return codAreaTematica;
    }

    public void setCodAreaTematica(EveAreaTematica codAreaTematica) {
        this.codAreaTematica = codAreaTematica;
    }

    public EveModalidade getCodModalidade() {
        return codModalidade;
    }

    public void setCodModalidade(EveModalidade codModalidade) {
        this.codModalidade = codModalidade;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (codCurso != null ? codCurso.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof EveCurso)) {
            return false;
        }
        EveCurso other = (EveCurso) object;
        if ((this.codCurso == null && other.codCurso != null) || (this.codCurso != null && !this.codCurso.equals(other.codCurso))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "entity.EveCurso[codCurso=" + codCurso + "]";
    }

}
